home *** CD-ROM | disk | FTP | other *** search
File List | 1993-10-05 | 2.4 KB | 124 lines |
- ' FULLPAGE ... 160 col. et 100 lignes !!!
- ' Imprime un fichier texte sur 4 col. de 40 car.
- ch$=CHR$(13)+CHR$(27)+"M"+CHR$(15)+CHR$(27)+"A"+CHR$(8)
- xprint(ch$)
- FILESELECT "\*.*","",f$
- IF f$=""
- END
- ENDIF
- OPEN "I",#1,f$
- lg%=LOF(#1)
- CLOSE #1
- DIM tamp(lg%/6+1)
- tamp%=VARPTR(tamp(0))
- eclaireur%=tamp%
- BLOAD f$,tamp%
- POKE tamp%+lg%,0
- GOTO main
- PROCEDURE xprint(ch$)
- FOR i=1 TO LEN(ch$)
- VOID BIOS(3,0,ASC(MID$(ch$,i,1)))
- NEXT i
- RETURN
- PROCEDURE expcol
- REPEAT
- REPEAT
- car%=PEEK(eclaireur%)
- INC eclaireur%
- IF car%<>0 AND car%<>10 AND car%<>13
- INC col%
- ENDIF
- UNTIL car%=0 OR car%=13 OR col%=40
- IF col%=40 AND PEEK(eclaireur%)=13 AND PEEK(eclaireur%+1)=10
- ADD eclaireur%,2
- ENDIF
- col%=0
- INC lin%
- UNTIL car%=0 OR lin%=100
- lin%=0
- RETURN
- PROCEDURE spitcar(ptr%)
- REPEAT
- car%=PEEK(ptr%)
- INC ptr%
- IF car%<>0 AND car%<>10 AND car%<>13
- INC col%
- ENDIF
- IF car%>=32 THEN
- ch$=CHR$(car%)
- xprint(ch$)
- ELSE
- IF car%<>0 AND car%<>10 AND car%<>13
- ch$=CHR$(168)
- xprint(ch$)
- ENDIF
- ENDIF
- UNTIL car%=0 OR car%=13 OR col%=40
- IF col%=40 AND PEEK(ptr%)=13 AND PEEK(ptr%+1)=10
- ADD ptr%,2
- ENDIF
- IF car%=0
- ptr%=-1
- ENDIF
- WHILE col%<40
- ch$=" "
- xprint(ch$)
- INC col%
- WEND
- col%=0
- nouvptr%=ptr%
- RETURN
- main: ! Boucle principale
- DO
- col%=0 ! (0 à 39 )*4
- lin%=0 ! 0 à 101
- ptr1c%=-1
- ptr2c%=-1
- ptr3c%=-1
- ptr4c%=-1
- ' Initialiser Ptr1c%,Ptr2c%,Ptr3c%,Ptr4c% (=-1 si col. inexistante)
- car%=PEEK(eclaireur%)
- IF car%<>0
- ptr1c%=eclaireur%
- @expcol
- IF car%<>0
- ptr2c%=eclaireur%
- @expcol
- IF car%<>0
- ptr3c%=eclaireur%
- @expcol
- IF car%<>0
- ptr4c%=eclaireur%
- @expcol
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- ' Impression d'une page
- WHILE ptr1c%<>-1 AND lin%<100
- @spitcar(ptr1c%)
- ptr1c%=nouvptr%
- IF ptr2c%<>-1
- @spitcar(ptr2c%)
- ptr2c%=nouvptr%
- ENDIF
- IF ptr3c%<>-1
- @spitcar(ptr3c%)
- ptr3c%=nouvptr%
- ENDIF
- IF ptr4c%<>-1
- @spitcar(ptr4c%)
- ptr4c%=nouvptr%
- ENDIF
- ch$=CHR$(13)+CHR$(10)
- xprint(ch$)
- INC lin%
- WEND
- EXIT IF PEEK(eclaireur%)=0
- ALERT 3,"Changement de page",1,"[Prèt ?]",dummy%
- LOOP
- ch$=CHR$(27)+"@" !reset
- xprint(ch$)
- ALERT 0,"Fin",1,"[ ... ]",dummy%
- END
-